##
# layer.py - Created by Timothy Morey on 6/11/2012
#
# This file provides a ctypes wrapper for libnvn items defined in layer.h.
#

import ctypes

import color_ramp
import data_schema
import data_source
import grid_mask

# RendererType enum values (from renderer.h):
RendererTypeUnknown = 0
RendererTypeShadedGrid = 1
RendererTypePixelMap = 2

class LayerProperties(ctypes.Structure):
    _fields_ = [
                ('RendererType',        ctypes.c_int),
                ('ColorRamp',           color_ramp.ColorRamp),
                ('DataSource',          data_source.DataSourceDescriptor),
                ('DataSchema',          data_schema.DataGridSchema),
                ('XDimension',          ctypes.c_int),
                ('YDimension',          ctypes.c_int),
                ('TDimension',          ctypes.c_int),
                ('MaintainAspectRatio', ctypes.c_int),
                ('UseMask',             ctypes.c_int),
                ('MaskDef',             grid_mask.GridMaskDef),
                ('MaskSource',          data_source.DataSourceDescriptor),
                ('MaskSchema',          data_schema.DataGridSchema),
                ]
